package com.jwsoft.manager.common.vo.eduStudentEnroll;

import com.bifang.assistant.common.vo.BaseVO;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jwsoft.manager.common.vo.YwApply.CompanyVO;
import com.jwsoft.manager.common.vo.YwApply.LivePlaceVO;
import com.jwsoft.manager.common.vo.YwApply.StudentStatusVO;
import com.jwsoft.manager.common.vo.eduFormEnrollParams.EduFormEnrollParamsVO;
import com.jwsoft.manager.common.vo.eduHouse.EduHouseVO;
import com.jwsoft.manager.common.vo.eduHousehold.EduHouseholdVO;
import com.jwsoft.manager.common.vo.eduNetsign.EduNetsignVO;
import com.jwsoft.manager.common.vo.eduSocialSecurity.EduSocialSecurityVO;
import com.jwsoft.manager.common.vo.eduStudentEnrollReview.EduStudentEnrollReviewVO;
import com.jwsoft.manager.common.vo.eduStudentEnrollVerification.EduStudentEnrollVerificationVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;
import java.util.List;

/**
 * VO
 *
 * @author wangtao
 * @since 2022-12-05
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Schema(name = "EduStudentEnrollVO", title = "学生报名实体类", description = "学生报名实体类")
public class EduStudentEnrollVO extends BaseVO {
    @Schema(name = "studentEnrollId", title = "主键")
    private String studentEnrollId;
    @Schema(name = "studentEnrollPreId", title = "预采集主键")
    private String studentEnrollPreId;
    @Schema(name = "enrollBeforeId", title = "预报名主键")
    private Long enrollBeforeId;
    @Schema(name = "fullName", title = "学生姓名")
    private String fullName;

    @Schema(name = "idcard", title = "学生身份证")
    private String idcard;
    @Schema(name = "fullNameTm", title = "学生姓名脱敏")
    private String fullNameTm;

    @Schema(name = "idcardTm", title = "学生身份证脱敏")
    private String idcardTm;
    @Schema(name = "cardType", title = "学生证件类型")
    private String cardType;

    @Schema(name = "birthYmd", title = "出生日期")
    private String birthYmd;

    @Schema(name = "sex", title = "性别")
    private String sex;

    @Schema(name = "sexName", title = "性别")
    private String sexName;

    @Schema(name = "address", title = "现居住地址")
    private String address;

    @Schema(name = "cellphone", title = "联系电话")
    private String cellphone;

    @Schema(name = "householdPlace", title = "户籍地")
    private String householdPlace;

    @Schema(name = "remarks", title = "备注")
    private String remarks;

    @Schema(name = "fatherName", title = "父亲（监护人）姓名")
    private String fatherName;

    @Schema(name = "fatherCardType", title = "父亲（监护人）证件类型")
    private String fatherCardType;

    @Schema(name = "fatherCardTypeName", title = "父亲（监护人）证件类型")
    private String fatherCardTypeName;

    @Schema(name = "fatherIdcard", title = "父亲（监护人）证件号码")
    private String fatherIdcard;

    @Schema(name = "fatherWork", title = "父亲（监护人）工作")
    private String fatherWork;

    @Schema(name = "fatherCellphone", title = "父亲（监护人）手机")
    private String fatherCellphone;

    @Schema(name = "motherName", title = "母亲姓名")
    private String motherName;

    @Schema(name = "motherCardType", title = "母亲证件类型")
    private String motherCardType;

    @Schema(name = "motherIdcard", title = "母亲身份证")
    private String motherIdcard;

    @Schema(name = "motherWork", title = "母亲工作")
    private String motherWork;

    @Schema(name = "motherCellphone", title = "母亲手机")
    private String motherCellphone;

    @Schema(name = "source", title = "来源(1,一键报名,2,特殊渠道录入)")
    private String source;

    @Schema(name = "spareRegisterFlag", title = "是否空额抢报 1.是 0.否")
    private String spareRegisterFlag;

    @Schema(name = "aspirationType", title = "第几志愿")
    private String aspirationType;

    @Schema(name = "schoolId", title = "学校")
    private String schoolId;

    @Schema(name = "schoolName", title = "学校名称")
    private String schoolName;

    @Schema(name="shortName",title = "学校简称")
    private  String shortName;

    @Schema(name = "schoolCategory", title = "学段")
    private String schoolCategory;
    @Schema(name = "schoolCategoryName", title = "学段")
    private String schoolCategoryName;

    @Schema(name = "schoolNature", title = "选择学校办别0.公办 1.民办")
    private String schoolNature;
    @Schema(name = "schoolNatureName", title = "选择学校办别0.公办 1.民办")
    private String schoolNatureName;

    @Schema(name = "year", title = "年份")
    private Integer year;

    @Schema(name = "serialNum", title = "摇号序号")
    private Integer serialNum;
    @Schema(name = "schoolNum", title ="学校代码")
    private String schoolNum;
    @Schema(name = "formOrderNo", title ="表单排序字段")
    private Integer formOrderNo;
    @Schema(name = "applyId", title = "报名编号")
    private String applyId;

    @Schema(name = "icertificatioFlag", title = "是否需要现场核证1，是0，否")
    private String icertificatioFlag;

    @Schema(name = "formId", title = "报名表单id")
    private String formId;

    @Schema(name = "configTypeName", title = "招生计划类别")
    private String configTypeName;

    @Schema(name = "configName", title = "招生类别")
    private String configName;

    @Schema(name = "graduationSchoolName", title = "原毕业学校")
    private String graduationSchoolName;

    @Schema(name = "houseId", title = "房产id")
    private String houseId;

    @Schema(name = "houseAdreess", title = "房产地址")
    private String houseAdreess;

    @Schema(name = "householdId", title = "户籍id")
    private String householdId;

    @Schema(name = "specialFlag", title = "特殊人员标识、针对学校录入的")
    private String specialFlag;

    @Schema(name = "privateAppointFlag", title = "是否民办直升班 0 否 1 是")
    private String privateAppointFlag;

    @Schema(name = "privateAppointStudentId", title = "民办直升班名单id")
    private String privateAppointStudentId;

    @Schema(name = "appointFlag", title = "是否城区E类人员 0 否 1 是")
    private String appointFlag;

    @Schema(name = "appointStudentId", title = "E类学籍名单id")
    private String appointStudentId;

    @Schema(name = "netsignFlag", title = "是否有网签")
    private String netsignFlag;

    @Schema(name = "studentStatusId", title = "学籍id")
    private String studentStatusId;

    @Schema(name = "livePlaceFlag", title = "是否有居住证")
    private String livePlaceFlag;

    @Schema(name = "deployFlag", title = "是否调配 0 否 1 是")
    private String deployFlag;

    @Schema(name = "basis", title = "调剂说明")
    private String basis;

    @Schema(name = "parentId", title = "上级报名id")
    private String parentId;

    @Schema(name = "otherEnrollStatus", title = "当前学段其他地市录取情况 0 未录取 1已录取")
    private String otherEnrollStatus;

    @Schema(name = "otherEnrollUnit", title = "当前学段其他地市录取单位")
    private String otherEnrollUnit;

    @Schema(name = "creditCode", title = "开办企业统一社会信用代码")
    private String creditCode;

    @Schema(name = "cbFlag", title = "是否参保：0未参保 1 已参保")
    private String cbFlag;

    @Schema(name = "enrollStatus", title = "报名状态：0，待审核 1，待录取 2，已录取 3,业务不录取 4,系统不录取")
    private String enrollStatus;

    @Schema(name = "authStatus", title = "审核状态")
    private String authStatus;
    @Schema(name = "authStatusName", title = "审核状态")
    private String authStatusName;

    @Schema(name = "authRemarks", title = "学校初审意见")
    private String authRemarks;
    @Schema(name = "authRemarksJyj", title = "局端复审意见")
    private String authRemarksJyj;
    @Schema(name = "authTime", title = "审核时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date authTime;

    @Schema(name = "authUserId", title = "审核人")
    private String authUserId;

    @Schema(name = "admitFlag", title = "录取状态-空、待录取-0、不录取1、录取")
    private String admitFlag;

    @Schema(name = "admitRemarks", title = "录取意见")
    private String admitRemarks;

    @Schema(name = "admitTime", title = "录取时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date admitTime;

    @Schema(name = "admitUserId", title = "录取人")
    private String admitUserId;

    @Schema(name = "createName", title = "创建人")
    private String createName;

    @Schema(name = "createNameChinese", title = "创建人")
    private String createNameChinese;

    @Schema(name = "createTime", title = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @Schema(name = "param1", title = "自定义字段1")
    private String param1;

    @Schema(name = "param2", title = "自定义字段2")
    private String param2;

    @Schema(name = "param3", title = "自定义字段3")
    private String param3;

    @Schema(name = "param4", title = "自定义字段4")
    private String param4;

    @Schema(name = "param5", title = "自定义字段5")
    private String param5;

    @Schema(name = "param6", title = "自定义字段6")
    private String param6;

    @Schema(name = "param7", title = "自定义字段7")
    private String param7;

    @Schema(name = "param8", title = "自定义字段8")
    private String param8;

    @Schema(name = "param9", title = "自定义字段9")
    private String param9;

    @Schema(name = "param10", title = "自定义字段10")
    private String param10;

    @Schema(name = "param11", title = "自定义字段11")
    private String param11;

    @Schema(name = "param12", title = "自定义字段12")
    private String param12;

    @Schema(name = "param13", title = "自定义字段13")
    private String param13;

    @Schema(name = "param14", title = "自定义字段14")
    private String param14;

    @Schema(name = "param15", title = "自定义字段15")
    private String param15;

    @Schema(name = "param16", title = "自定义字段16")
    private String param16;

    @Schema(name = "param17", title = "自定义字段17")
    private String param17;

    @Schema(name = "param18", title = "自定义字段18")
    private String param18;

    @Schema(name = "param19", title = "自定义字段19")
    private String param19;

    @Schema(name = "param20", title = "自定义字段20")
    private String param20;

    @Schema(name = "registerDate", title = "登记日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date registerDate;

    @Schema(name = "realProperty", title = "不动产权号")
    private String realProperty;

    @Schema(name = "realPropertyNum", title = "不动产单元号 国标")
    private String realPropertyNum;

    @Schema(name = "qlrName", title = "权利人姓名")
    private String qlrName;

    @Schema(name = "householdAddress", title = "户口所在完整地址")
    private String householdAddress;

    @Schema(name = "qysj", title = "启用时间")
    private String qysj;

    @Schema(name = "street", title = "所属街道")
    private String street;

    @Schema(name = "fromSchoolId", title = "调出学校id")
    private String fromSchoolId;

    @Schema(name = "fromSchoolName", title = "调出学校名称")
    private String fromSchoolName;

    @Schema(name = "bbFlag", title = "是否补报")
    private String bbFlag;

    @Schema(name = "areaCode", title = "行政区划")
    private String areaCode;

    @Schema(name = "gbConfigName",title="公办报名类别")
    private String gbConfigName;

    @Schema(name = "gbSchoolName",title="公办学校名称")
    private String gbSchoolName;

    @Schema(name = "delStatus",title="作废状态")
    private String delStatus;

    @Schema(name = "firstFlag",title="是否第一条数据")
    private Boolean firstFlag;

    @Schema(name = "streetName",title = "学校所属街道Name")
    private String streetName;

    @Schema(name = "admitFlagName",title = "录取状态Name")
    private String admitFlagName;

    @Schema(name = "SpecialFlagName",title = "特殊人员标识、针对学校录入的")
    private String SpecialFlagName;

    @Schema(name = "enrollStatusName",title = "报名状态：0，待审核 1，待录取 2，已录取 3,业务不录取 4,系统不录取")
    private String enrollStatusName;

    @Schema(name = "cardTypeName",title = "证件类型中文")
    private String cardTypeName;

    @Schema(name = "fcFlag",title = "是否展示报名类别房产")
    private Boolean fcFlag;
    @Schema(name = "hjFlag",title = "是否展示报名类别户籍")
    private Boolean hjFlag;
    @Schema(name = "fcDsjFlag",title = "大数据房产")
    private Boolean fcDsjFlag;
    @Schema(name = "hjDsjFlag",title = "大数据户籍")
    private Boolean hjDsjFlag;
    @Schema(name = "jzzFlag",title = "是否展示居住证")
    private Boolean jzzFlag;
    @Schema(name = "sbFlag",title = "是否展示社保")
    private Boolean sbFlag;
    @Schema(name = "wqFlag",title = "是否展示网签")
    private Boolean wqFlag;
    @Schema(name = "qyFlag",title = "是否展示企业")
    private Boolean qyFlag;
    @Schema(name = "xjFlag",title = "是否展示学籍")
    private Boolean xjFlag;
    @Schema(name = "hyFlag",title = "是否展示线下核验")
    private Boolean hyFlag;

    @Schema(name = "xjInfo",title = "学籍信息")
    private StudentStatusVO xjInfo;

    @Schema(name = "hjInfo",title = "户籍信息")
    private EduHouseholdVO hjInfo;

    @Schema(name = "fcInfo",title = "房产信息")
    private EduHouseVO fcInfo;

    @Schema(name = "hjDsjInfo",title = "大数据户籍信息")
    private EduHouseholdVO hjDsjInfo;

    @Schema(name = "fcDsjInfo",title = "大数据房产信息")
    private EduHouseVO fcDsjInfo;

    @Schema(name = "wqList",title = "网签信息")
    private List<EduNetsignVO> wqList;

    @Schema(name = "sbList",title = "参保信息")
    private List<EduSocialSecurityVO> sbList;

    @Schema(name = "qyList",title = "开办企业信息")
    private List<CompanyVO> qyList;

    @Schema(name = "jzzList",title = "居住证信息")
    private List<LivePlaceVO> jzzList;

    @Schema(name = "paramsVOList",title = "其他动态表单")
    private List<EduFormEnrollParamsVO> paramsVOList;

    @Schema(name = "otherSchoolList",title = "报名的其他学校，民办，民转公")
    List<ApplySchoolVO> otherSchoolList;
    @Schema(name = "abandonZsbFlag",title = "是否放弃直升班 1 是 0 否")
    private String abandonZsbFlag;
    @Schema(name = "followFlag",title="是否长幼随学 0 否 1是")
    private String followFlag;
    @Schema(name = "followFlagName",title="是否长幼随学 0 否 1是")
    private String followFlagName;
    @Schema(name = "followIdcard",title="随学的兄/姐身份证号码")
    private String followIdcard;
    @Schema(name = "bindFlag",title="是否捆绑摇号 0 否 1是")
    private String bindFlag;
    @Schema(name = "bindIdcard",title="捆绑的身份证号码")
    private String bindIdcard;
    @Schema(name = "followFullName", title = "随学的兄/姐姓名")
    private String followFullName;
    @Schema(name = "followType", title = "随学的需求类型：1 本校就读 2 随兄组到调剂学校入学")
    private String followType;
    @Schema(name = "followSchoolId", title = "随学的兄/姐学校id")
    private String followSchoolId;
    @Schema(name = "followSchoolName", title = "随学的兄/姐学校名称")
    private String followSchoolName;
    @Schema(name = "followSchoolClass", title = "随学的兄/姐学校年级班级")
    private String followSchoolClass;
    @Schema(name = "bindMianFlag",title="是否主摇号信息  0 否 1 是")
    private String bindMianFlag;
    @Schema(name = "cbStartTime",title="本次参保开始时间")
    private String cbStartTime;
    @Schema(name = "cbTotal", title = "累计缴费月数")
    private Integer cbTotal;
    @Schema(name = "followingFlag",title="是否非随迁子女 0 否 1 是")
    private String followingFlag;
    @Schema(name = "socialSecurityId", title = "报名使用社保id")
    private String socialSecurityId;
    @Schema(name = "netsignId", title = "报名使用网签id")
    private String netsignId;
    @Schema(name = "companyId", title = "报名使用企业id")
    private String companyId;
    @Schema(name = "livePlaceId", title = "居住证id")
    private String livePlaceId;
    @Schema(name = "hasHousehold", title = "是否有户籍")
    private Boolean hasHousehold;
    @Schema(name = "hasHouse", title = "是否有房产")
    private Boolean hasHouse;
    @Schema(name = "fileInfo", title = "材料信息")
    private String fileInfo;
    @Schema(name = "aborigineFlag", title = "是否原住居民")
    private String aborigineFlag;
    @Schema(name = "serviceFlag", title = "是否服务区")
    private String serviceFlag;
    @Schema(name = "configNameAlias", title = "招生类别别名")
    private String configNameAlias;
    @Schema(name = "configNameNum", title = "同类别序号")
    private Integer configNameNum;
    @Schema(name = "enrollNum", title = "第几轮报名")
    private Integer enrollNum;
    @Schema(name = "verificationVOList", title = "核验信息")
    private List<EduStudentEnrollVerificationVO> verificationVOList;
    @Schema(name = "reviewVOList", title = "审核记录")
    private List<EduStudentEnrollReviewVO> reviewVOList;
    @Schema(name = "houseList", title = "房产信息")
    private List<EduHouseVO> houseList;
    @Schema(name = "guardianOne", title = "监护人1")
    private String guardianOne;
    @Schema(name = "isContinuityOne", title = "是否连续缴费")
    private String isContinuityOne;
    @Schema(name = "totalOne", title = "累计缴费月数")
    private Integer totalOne;
    @Schema(name = "dqTotalOne", title = "当前参保单位连续缴费月数")
    private Integer dqTotalOne;
    @Schema(name = "cbAreaCodeOne", title = "参保行政区划")
    private String cbAreaCodeOne;
    @Schema(name = "guardianTwo", title = "监护人2")
    private String guardianTwo;
    @Schema(name = "isContinuityTwo", title = "是否连续缴费")
    private String isContinuityTwo;
    @Schema(name = "totalTwo", title = "累计缴费月数")
    private Integer totalTwo;
    @Schema(name = "dqTotalTwo", title = "当前参保单位连续缴费月数")
    private Integer dqTotalTwo;
    @Schema(name = "cbAreaCodeTwo", title = "参保行政区划")
    private String cbAreaCodeTwo;

    @Schema(name = "encryptStatus", description = "加密状态 0待加密  1加密成功  2加密失败")
    private String encryptStatus;

    @Schema(name = "encryptRemarks", description = "加密备注")
    private String encryptRemarks;

    @Schema(name = "encryptTime", description = "加密时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date encryptTime;

    @Schema(name = "encryptFlag", description = "是否已加密  1是  0否")
    private String encryptFlag;

    @Schema(name = "cleanFlag", description = "是否销毁 1是 0 否")
    private String cleanFlag;

    @Schema(name = "excelRemarks", description = "Excel导入备注")
    private String excelRemarks;
    @Schema(name = "schoolCodeXj", title = "省学籍库学校代码")
    private String schoolCodeXj;
    @Schema(name = "schoolNameXj", description = "省学籍库学校名称")
    private String schoolNameXj;
    @Schema(name = "shortNameXj", description = "省学籍库简称")
    private String shortNameXj;
    @Schema(name = "serialFlagName", title = "是否摇号录取")
    private String serialFlagName;
    @Schema(name = "updateTime", title = "更新时间")
    private Date updateTime;
    @Schema(name = "updateNameChinese", title = "更新人中文")
    private String updateNameChinese;
    @Schema(name = "updateName", title = "更新人")
    private String updateName;
    @Schema(name = "whiteFlag", title = "是否白名单报名")
    private String whiteFlag;
    @Schema(name = "whiteMsg", title = "添加白名单原因")
    private String whiteMsg;
}
